#ifndef YJApplication_h
#define YJOptionalFactory_h

#include <YApplication.h>

class YJApplication: public YApplication{
	
public:
	virtual std::string askForExistingDirectory(const std::string&, const std::string&);
	virtual std::string askForExistingFile(const std::string&, const std::string&, const std::string&);
	virtual std::string askForSaveFileName(const std::string&, const std::string&, const std::string&);
	virtual int displayWidth();
	virtual int displayHeight();
	virtual int displayDepth();
	virtual long int displayColors();
	virtual int defaultWidth();
	virtual int defaultHeight();
	virtual bool isTextMode();
	virtual bool hasImageSupport();
	virtual bool hasIconSupport();
	virtual bool hasAnimationSupport();
	virtual bool hasFullUtf8Support();
	virtual bool richTextSupportsTable();
	virtual bool leftHandedMouse();


protected:
	friend class YJUI;
	YJApplication(int id);
private:
	int classId;
};
#endif // YJApplication_h                
